Pip (패키지 관리자)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
Pip는 파이썬 패키지를 설치하고 관리하는 데 사용되는 패키지 관리자이다. 2008년 이안 비킹에 의해 easy install의 대안으로 pyinstall로 시작되었으며, "Pip Installs Packages"의 재귀 약어이다. pip는 명령 줄 인터페이스를 통해 파이썬 패키지를 쉽게 설치하고 제거할 수 있으며, requirements 파일을 사용하여 패키지 목록과 버전을 관리하여 가상 환경에서 패키지를 재현할 수 있다. 또한 사용자 정의 프로젝트 설치와 사용자 지정 저장소를 지원하며, 웹 호스팅 서비스에서도 활용된다.
더 읽어볼만한 페이지
- 파이썬 소프트웨어 - 패키지킷
패키지킷은 다양한 리눅스 배포판에서 패키지 설치, 업데이트 및 관리를 단순화하기 위해 서로 다른 패키지 관리 시스템을 통합하여 일관된 인터페이스를 제공하는 시스템이다. - 파이썬 소프트웨어 - PyPy
PyPy는 파이썬의 호환 가능하고 빠른 구현을 목표로 하는 동적 언어 구현 프레임워크이며, RPython을 사용하여 JIT 컴파일러를 생성하고, Python 2.7과 3.10 버전을 지원한다. - 자유 패키지 관리 시스템 - F-Droid
F-Droid는 2010년 키어런 걸트니엑스가 설립한 안드로이드용 자유 소프트웨어 앱 저장소로, 구글 플레이 스토어에 없는 자유/오픈 소스 소프트웨어 앱을 제공하며 감시, 검열 저항, 개인 정보 보호에 중점을 둔 클라이언트 앱, 저장소 관리 도구, 웹사이트 생성기 등의 하위 프로젝트로 구성된다. - 자유 패키지 관리 시스템 - 어드밴스트 패키징 툴
어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다.
Pip (패키지 관리자) - [IT 관련 정보]에 관한 문서 | |
---|---|
개요 | |
종류 | 패키지 관리 시스템 |
개발자 | 이안 비킹 |
최초 릴리스 | 2008년 10월 28일 |
최신 안정화 버전 | 22.3.1 |
최신 릴리스 날짜 | 2022년 11월 5일 |
프로그래밍 언어 | 파이썬 |
운영체제 | 운영체제 독립적 |
플랫폼 | 파이썬 |
라이선스 | MIT |
웹사이트 | pip 공식 웹사이트 |
2. 역사
pip는 2008년 이안 비킹(virtualenv 패키지 제작자)이 easy install의 대안으로 `pyinstall`이라는 이름으로 처음 개발하였다.[8][9] pip라는 이름은 이안 비킹의 블로그 게시물에서 받은 여러 제안 중 하나에서 선택되었다.[10] 이안 비킹에 따르면, 이 이름은 "Pip Installs Packages"의 재귀 약어이다.[11] 2011년에는 파이썬 패키징 권한(PyPA)이 설립되어 칼 메이어, 브라이언 로스너, 야니스 라이델이 이끄는 비킹으로부터 pip와 virtualenv의 유지 관리를 인계받았다.[9]
pip의 주요 장점은 명령 줄 인터페이스를 통해 파이썬 소프트웨어 패키지를 쉽게 설치하고 관리할 수 있다는 점이다.
2014년 12월 22일에 릴리스된 pip 버전 6.0부터 버전 명명 체계가 X.Y 형식으로 변경되어 버전 레이블에서 선행 1이 삭제되었다.[12]
3. 명령 줄 인터페이스
패키지를 설치하려면 다음 명령어를 사용한다.
:pip install some-package-name
pip install virtualenv
의 출력
패키지를 제거하려면 다음 명령어를 사용한다.
:pip uninstall some-package-name
pip는 "requirements" 파일을 통해 패키지 목록과 버전을 관리하는 기능을 제공한다.[13] 이를 통해 다른 환경이나 가상 환경에서 동일한 개발 환경을 쉽게 구축할 수 있다. 다음은 requirements 파일과 함께 사용하는 명령어이다.[14]
:pip install -r requirements.txt
특정 파이썬 버전에 대한 패키지를 설치하려면 다음 명령어를 사용할 수 있다.
:pip${version} install some-package-name
(여기서 ${version}
은 2, 3, 3.4 등으로 대체한다.)
3. 1. 사용자 정의 프로젝트 설치
`setup.py` 파일을 사용하여 사용자 정의 프로젝트를 로컬에 설치할 수 있다. 프로젝트 루트 디렉터리에서 `pip install -e .` 명령어를 실행하여 개발 모드로 설치할 수 있다.
파이썬 프로젝트는 다음 파일 구조를 가져야 한다.
example_project/ |
├── exampleproject/ 소스 코드가 포함된 파이썬 패키지. |
│ ├── __init__.py 폴더를 패키지로 만듭니다. |
└── example.py 예시 모듈. |
└── README.md 프로젝트 정보가 포함된 README. |
프로젝트 루트(위 구조의 `example_project`)에 다음과 같은 내용으로 `setup.py`를 추가할 수 있다.
from setuptools import setup, find_packages
setup(
name='example', # 패키지 이름. 이 이름은 프로젝트가 패키지로 가져올 때 사용됩니다.
version='0.1.0',
packages=find_packages(include=['exampleproject', 'exampleproject.*']) # Pip는 여기에 제공된 종속성을 자동으로 설치합니다.
)
프로젝트 루트 디렉터리에서 `pip install -e .` 명령어를 실행하여 사용자 지정 프로젝트를 설치한다.
4. 사용자 정의 저장소
pip는 기본 PyPI 저장소 외에도 사용자 지정 저장소를 지원한다.[15] 이러한 저장소는 HTTP(s) URL 또는 파일 시스템 위치에 있을 수 있다.
사용자 지정 저장소는 `-i` 또는 `--index-url` 옵션을 사용하여 지정할 수 있다.
- HTTP(s) URL을 사용하는 경우:
```
pip install -i https://your-custom-repo/simple <패키지 이름>
```
- 파일 시스템을 사용하는 경우:
```
pip install -i /path/to/your/custom-repo/simple <패키지 이름>
5. 웹 호스팅 서비스에서의 활용
pip는 헤로쿠와 같은 웹 호스팅 서비스에서 파이썬 애플리케이션의 의존성을 관리하는 데 사용된다.[19]
참조
[1]
웹사이트
Pip 0.2
https://pypi.org/pro[...]
2024-08-27
[2]
웹사이트
pip/LICENSE.txt
https://github.com/p[...]
2018-06-01
[3]
웹사이트
Managing Python packages the right way
https://opensource.c[...]
Red Hat
2019-06-23
[4]
웹사이트
Tool recommendations — Python Packaging User Guide
https://packaging.py[...]
2022-11-09
[5]
웹사이트
Python Enhancement Proposal 503
https://www.python.o[...]
[6]
웹사이트
pip install command line documentation
https://pip.pypa.io/[...]
[7]
웹사이트
pip installation
https://pip.pypa.io/[...]
2015-02-24
[8]
웹사이트
pyinstall: A New Hope
http://www.openplans[...]
2020-03-04
[9]
웹사이트
Packaging History
https://www.pypa.io/[...]
2020-03-04
[10]
웹사이트
pyinstall pybundles
https://www.ianbicki[...]
2021-11-24
[11]
웹사이트
pyinstall is dead, long live pip!
https://www.ianbicki[...]
2021-11-24
[12]
웹사이트
Changelog - pip documentation v22.3.1
https://pip.pypa.io/[...]
[13]
웹사이트
pip documentation
http://www.pip-insta[...]
The pip developers
2012-01-05
[14]
웹사이트
Most Important ''pip'' Commands for a Python Developer - DZone Open Source
https://dzone.com/ar[...]
2019-06-23
[15]
웹사이트
Custom repository with pip install -i
https://python.land/[...]
2022-01-12
[16]
웹사이트
pip documentation
http://www.pip-insta[...]
The pip developers
2012-01-05
[17]
웹사이트
pip installation
https://pip.pypa.io/[...]
2015-02-24
[18]
문서
pip supports projects declaring dependencies that are required at install time using a pyproject.toml file
https://pip.pypa.io/[...]
[19]
웹사이트
Getting Started with Python on Heroku/Cedar
http://devcenter.her[...]
Heroku
2012-01-05
[20]
Github
1.0 release commit
https://github.com/p[...]
[21]
웹인용
Release Notes
https://pip.pypa.io/[...]
[22]
웹인용
LICENSE.txt
https://github.com/p[...]
2015-07-25
[23]
문서
'[참고](Python 2.7 will retire in... , 2020.1.1)'
https://pythonclock.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com